In recent years, services available on the Internet and/or within corporate intranets and based on delivery of media contents, especially of the multimedia type, have achieved a particular significance. This is supported by both the availability of wider transmission bandwidths for the access to these services, and the steady increase in the number and types of the contents available for delivery.
In addition to traditional web contents, other multimedia contents, such as on-demand and live video streaming, now provide services that are particularly important for the users, such as E-learning, Internet Broadcasting, Video On Demand, etc. This scenario becomes continuously richer and richer due to new types of contents that are typically supported by vertical platforms provided by specific and specialised providers, for example platforms for gaming-on-demand and application-on-demand.
In this scenario, the problem of managing quality on these networks has assumed great significance from the viewpoint of guaranteeing the user, i.e. the consumer of the multimedia contents, with an adequate Quality of Experience for the service.
To allow operators to differentiate the transport over these networks of traffic originated by different types of service, various solutions have been studied.
Amongst the solutions proposed by the scientific community, and in particular by the Internet Engineering Task Force (IETF), a solution referred to as Differentiated Services (DiffServ) is disclosed for example in documents RFC3260, RFC2475 and RFC2474. This solution provides for flows in input to an area/domain to be analyzed and grouped in a traffic aggregate, known as service class, that is then handled on the network according to certain policies known as Per Hop Behaviours (PHB). It can be noted that in document RFC2638 it is pointed out that this solution requires the presence of specific elements, called Bandwidth Brokers (BB) able to interpret user requests and evaluate their admissibility according to preconfigured policies and the availability of network resources (Admission Control operation).
The Admission Control operation performed by the Bandwidth Brokers, deals with checking the availability of network resources before establishing a given flow between two physical points of the network, in order to prevent congestion conditions from being created on the path used when a specific service class is utilized, which would cause packet loss and hence service degradation.
With regard to network congestion control, mechanisms have been studied that, in case of insufficient resources, ensure that a certain “fairness” is guaranteed in handling the traffic passing through the congestion point. These mechanisms are essentially based on the implementation of classification, queuing and scheduling algorithms inside the network devices.
In particular, each incoming packet is opportunely classified and inserted in a queue forming part of a set of available queues. Queues are read out by a scheduler according to a statistically fair policy, such as round-robin. In round-robin scheduling, one packet is read out from each queue, one queue at time, reading again from the first queue only when one packet has been read out from every other queue. This mechanism, known as Fair Queuing (FQ), can be modified/improved in various manners.
For example, U.S. Pat. No. 6,981,052 discloses a method for extending class-based queuing (CBQ) with multiple “behavioural” queues per class which includes a dynamic weighting mechanism between these queues. The packets are forwarded from the behavioural queues according to the weighting assigned to each queue. The weighting for packet scheduling of the queues is adjusted to account for additional flow going through the queues. The weight of a queue is controlled relative to the weight available to other queues. When a flow is reclassified, the queue weight is readjusted accordingly. Well behaved flows experience low delay and can thus achieve a fair bandwidth allocation without having multiple packets queued to compete with non-adaptive aggressive flows.
Further, U.S. Pat. No. 6,724,721 discloses a method for limiting the throughput rate of non-adaptive aggressive flows on a packet-by-packet basis. Each packet of an input flow is mapped to an entry in a flow table for each output queue. The mapping is based on a subset of the packet's header data, giving an approximation of per-flow management. Each entry contains a credit value. On packet reception, the credit value is compared to zero; if there are no credits, the packet is dropped. Otherwise, the size of the packet is compared to the credit value. If sufficient credits exist (i.e., size is less than or equal to credits), the credit value is decremented by the size of the packet in cells and the processing proceeds according to conventional methods.
If, however, the size of the packet exceeds the available credits, the credit value is set to zero and the packet is dropped. A periodic task adds credits to each flow table entry up to a predetermined maximum. The processing rate of each approximated flow is thus maintained to the rate determined by the number of credits present at each enqueuing decision, up to the allowed maximum. The scheme operates independently of packet flow type, providing packet-specific means for rapidly discriminating well-behaved flows that adapt to congestion situations signalled by packet drop from aggressive, non-adaptive flows and managing throughput bandwidth accordingly. Bandwidth is shared fairly among well-behaved flows, large and small, and time-critical (low latency) flows, thereby protecting all from non-adapting aggressive flows.
With reference to the QoS requirements the document “Internet Traffic, QoS and Pricing”, J. W. Roberts, France Telecom R&D, 2003, discloses to subdivide application flow typologies into elastic and anelastic flows. In particular, the author suggests to “distinguish” two kinds of flow termed streaming and elastic. Streaming flows transmit an audio or video signal for real-time play-out. Correct reconstitution of the signal requires low packet loss and delay. The quality of a streaming application also clearly depends on the signal bit rate. Flows generally have variable bit rate due to the use of compression coding. Elastic flows transfer digital documents corresponding to an e-mail, a Web page or an MP3 track, for instance. The rate of elastic flows can be varied without significant detriment to perceived performance which depends on the overall transfer time. The quality of service requirement here relates to the response time or, equivalently, to the average throughput over the entire transfer.
In addition, the author considers as flows on which the QoS is to be controlled not the “generic” flows that transit from one network equipment's physical port to another, but the ones “related to the service applications” (micro flows), which can be characterized by attributes that, although dynamically assigned, are “stable” during the course of a single feed, such as the address of the source that originates the application (e.g. a Video on Demand Server), the address of the user that received the application (e.g. a single terminal or group of terminals) and the protocol parameters utilized for the transfer of the application (e.g. protocol type and ports).
The application of QoS policies on these micro flows allows the Admission Control architecture to be simplified, transferring its functionality directly to the network devices via the “Measurement Based Admission Control” concept, which places the logic for the Admission Control precisely inside one or more devices through which the micro flow passes. From this, in “MBAC algorithm for streaming flows in Cross Protect”, A. Kortebi, S. Oueslati and J. Roberts, France Telecom R&D, 2004, an algorithm is proposed that is directly implementable on a device and capable of managing both elastic and anelastic flows.
This algorithm contemplates periodic measurement of bandwidth utilization and takes the decision on the admissibility of a flow based on a percentage of the estimated load in the last measurement interval. In particular, this algorithm blocks new flows in the next interval whenever the current load estimate exceed 0.88, this percentage being calculated as a function of the probability of overflow (congestion) that it is wished to have.
WO2006/069044 discloses a mechanism for identifying and penalizing misbehaving flows in a network, wherein policies are implemented on a single flow according to the statistical attributes detected on the flow itself. In particular, a flow ID and a set of behavioural statistics are maintained for each flow, and these behavioural statistics are updated as information packets belonging to the processed flow. These behavioural statistics include a total byte count, a life duration, a flow rate, a number of packet processed; an average packet size, a badness factor, and a timestamp. Based upon these behavioural statistics, a determination is made as to whether a flow is exhibiting undesirable behaviour. If so, a penalty is imposed on the flow. This penalty causes packets belonging to the flow to have a higher probability of being dropped than packets belonging to other flows that do not exhibit undesirable behaviour. In addition to penalizing the flow, this penalty also has the effect of correcting the flow's behaviour such that the flow exhibits less undesirable behaviour after the penalty than before. By correcting the flow's behaviour, the penalty makes it possible for the flow to become a non-misbehaving flow.